因為套件太多語法都不同,所以來盤點用了哪些套件吧!
  "dependencies": {
    "@ctrl/tinycolor": "^3.4.1",
    "@pureadmin/components": "^1.1.0",
    "@pureadmin/descriptions": "^1.1.0",
    "@pureadmin/table": "^1.2.0",
    "@pureadmin/utils": "^0.1.1",
    "@vueuse/core": "^9.1.1",
    "@vueuse/motion": "^2.0.0-beta.12",
    "@vueuse/shared": "^9.1.1",
    "animate.css": "^4.1.1",
    "axios": "^0.27.2",
    "dayjs": "^1.11.4",
    "echarts": "^5.3.3",
    "element-plus": "^2.2.16",
    "element-resize-detector": "^1.2.3",
    "js-cookie": "^3.0.1",
    "lodash": "^4.17.21",
    "lodash-es": "^4.17.21",
    "lodash-unified": "^1.0.2",
    "mitt": "^3.0.0",
    "mockjs": "^1.1.0",
    "nprogress": "^0.2.0",
    "path": "^0.12.7",
    "pinia": "^2.0.21",
    "qs": "^6.11.0",
    "resize-observer-polyfill": "^1.5.1",
    "responsive-storage": "^2.1.0",
    "vue": "^3.2.39",
    "vue-i18n": "^9.2.2",
    "vue-router": "^4.1.5",
    "vue-types": "^4.2.1",
    "vxe-table": "^4.3.2",
    "xe-utils": "^3.5.6"
  },
筆者這邊介紹順序就依照喜好來安排:

前端御三家之一,簡單好用的語法(v-if v-for)是多數人認為三者最好上手的框架
來源: http://blog.natsusola.net/2018/02/blog-post_53.html
透過路由(網址)控制要渲染什麼畫面
vue-router 官網
共用儲存區,方便我們在不同組件(components)傳遞資料
第六天 10分鐘略懂 pinia (vue的共用儲存區)
打API的套件,用法和 js 原生的fetch很類似
//範例來源: https://zetcode.com/javascript/axios/
const axios = require('axios');
axios.get('http://webcode.me').then(resp => {
    console.log(resp.data);
});
除了基本使用還有攔截器(Interceptors)功能,在請求&回應多了一個中介層可以做某些判斷
axios interceptors
多國語系套件
vue-i18n官方
以vue3為基底的組件庫
https://element-plus.org/zh-CN/
資料傳遞
https://github.com/developit/mitt

處理資料的 JavaScript函式庫
工具庫
https://x-extends.github.io/xe-utils/#/
超級受歡迎的時間處理套件
https://github.com/iamkun/dayjs

受到 react prop-type 啟發製作的 vue 型別檢查套件
https://github.com/dwightjack/vue-types

url解析
https://github.com/ljharb/qs
處理 cookie
https://github.com/js-cookie/js-cookie
進度條
https://ricostacruz.com/nprogress/
vue的table套件 功能強大
https://github.com/x-extends/vxe-table
和 chart.js 類似的圖表套件
https://echarts.apache.org/handbook/zh/get-started/
vueuse 是 vue3 的 Composition API 大集合 (函式工具庫)
<template>
  <div
    v-motion
    :initial="{
      opacity: 0,
      y: 100,
    }"
    :enter="{
      opacity: 1,
      y: 0,
    }"
  />
</template>
從範例可以看出在任何標籤都能掛載 v-motion
搭配 :initial 可以更改元素元素初始位置和透明度:enter 是進入後更改元素位置和透明度 達到動畫效果
更多變數使用:
https://motion.vueuse.org/variants.html#initial-variant
pureadmin 的作者有針對 element-plus 進行再次封裝
以及寫一些共用工具庫
隨機生成假資料,方便前端先有資料串接畫面
https://github.com/nuysoft/Mock/wiki/Getting-Started
有關顏色轉換與操作的庫
https://www.npmjs.com/package/@ctrl/tinycolor
來源: https://tinycolor.vercel.app/

https://github.com/wnr/element-resize-detector
https://github.com/que-etc/resize-observer-polyfill
demo:
https://que-etc.github.io/resize-observer-polyfill/
補充:
作者最後選擇 tailwindcss 的原因
https://pure-admin-doc.vercel.app/pages/39156f/#cssnano